home *** CD-ROM | disk | FTP | other *** search
Text File | 1996-11-21 | 64.1 KB | 1,686 lines |
- =======================================================================
-
- ULTIMATE CALCULATOR (UCALC) 3.2
- Copyright (C) 1992-1996 by Daniel Corbier
- All Rights Reserved.
-
- =======================================================================
-
-
- CONTENTS
- --------
-
- 1. Introduction
- 2. UCALC Features
- 3. Getting Started
- 3.1 Installation
- 3.2 Single Calculations at the DOS Prompt
- 3.3 Interactive Calculations
- 3.4 Popping UCALC up with a Hot Key
- 3.4.1 Memory
- 3.4.2 Swap file
- 3.4.3 Hot Key
- 3.4.4 Extra Memory
- 3.4.5 Text Buffer
- 3.4.6 Resizing and Moving the Window
- 4. UCALC Prompt
- 5. Table of Symbols
- 6. Order of Precedence
- 7. Flexible Syntax
- 8. GRAPHING
- 8.1 How to Plot
- 8.1.1 Cartesian
- 8.1.2 Parametric
- 8.1.3 Polar
- 8.1.4 3D Surface
- 8.1.5 Plotting data from another file
- 8.1.6 Line Segment
- 8.1.7 Rectangle
- 8.1.8 Filling an Area
- 8.2 Graph Menu
- 8.2.1 [F2] Reset
- 8.2.2 [F3] Fill
- 8.2.3 [F4] Color
- 8.2.4 [F5] Grid/Axis
- 8.2.5 [F6] Dot/Connect
- 8.2.6 [F7] Trace
- 8.2.7 [F8] Mono
- 8.2.8 [F9] Zoom In
- 8.2.9 [F10] Zoom Out
- 8.3 Special Graphing Commands
- 8.3.1 AUTOCLR (automatic coloring)
- 8.3.2 AXIS (sets axis line color)
- 8.3.3 CONNECT (toggle for dot/connect)
- 8.3.4 GCOLOR (background color in graphic mode)
- 8.3.5 GRID (sets grid color & pattern)
- 8.3.6 MODE (selects graphic card)
- 8.3.7 MONO (turns colors off)
- 8.3.8 PLOTF (sends the graph coordinates to a file)
- 8.3.9 PPLOT (edits previously plotted equations)
- 8.3.10 PREC (sets graph precision)
- 8.3.11 WINDOW (sets screen coordinate system)
- 8.3.12 ZOOM (changes zoom factor)
- 8.4 Moving the Crosshair
- 8.5 Adding Text to the Screen
- 8.6 Printing a Graphic Screen
- 9. Summation
- 10. Numerical Integration
- 11. Solving Equations
- 12. Numerical Notations
- 13. Implicit Multiplication
- 14. Assigning Variables
- 15. Assigning Functions
- 16. Miscellaneous Commands
- 16.1 LOAD
- 16.2 WRITE
- 16.3 SHELL
- 16.4 COLOR
- 16.5 REDIRECT
- 17. UCALC.DEF
- 18. Technical Notes
- 19. Registration
- 20. Shareware Author & User Case Study
- 21. My Address
- 22. Distribution
- 23. Acknowledgments
-
-
- 1. Introduction
- ============
-
- UCALC is a graphing scientific calculator which can be used for simple
- arithmetic, or intricate scientific calculations. It supports many
- built-in functions, operators, numerical notations, and modes. It also
- supports user-defined functions and variables. It can evaluate
- expressions, solve equations, plot equations, perform numerical
- integrations, do summations, and more. UCALC can optionally be
- loaded as a TSR taking less than 6K of main memory. Expressions
- such as the following are accepted:
-
- 63 - 5 + 4.75
-
- (5.9-abs(2.8/5-3))^2 + sin( 3-(pi+3/4)*myfunction(a,b) )
-
- solve 3*x^2+2*x-5 = 27
-
- #b101010 and (#b10101 or #h1CC) * 2^5
-
- plot sin(x)*x^2/10
-
- plot3d sin(x)*z
-
-
- 2. UCALC Features
- ==============
-
- - MATH EXPRESSION EVALUATOR for simple or intricate operations
- - Arithmetic, bitwise, and relational operators
- - Decimal, hexadecimal, binary and octal notations
- - Trig, hyperbolic, and many other common scientific functions
- - Supports user defined variables & functions with multiple arguments
- - Radian, degree, and gradient modes for trig functions
- - High precision: 18 significant digits. +/-3.4E-4932 to +/-1.2E+4932
- - Equation solver, summation & sumtable, numerical integration
-
- - POP UP WITH A HOT KEY
- - Window can be resized or moved
- - Hot key combination can be chosen
- - Less than 6K main memory using EMS or file
- - Main memory, EMS, or file, can be chosen for swapping
- - PASTE command
- - TSR can be unloaded from memory
-
- - FAST EQUATION PLOTTER
- - Interactive menu with ZOOM, TRACE, COLOR, FILL, GRID, etc...
- - Support for up to 16 supper-imposed multi-color user graphs
- - Cartesian (rectangular), polar, and parametric user graphs
- - 3D surface plotting with hidden line removal
- - Data from another file can be plotted
- - Adjustable precision & screen coordinate system
- - Text can be typed anywhere on the graph screen
- - VGA, EGA, MCGA, CGA, and Hercules modes (auto detection or select)
- - Coordinates can be saved to a file
- - Mouse support
-
- - Online help with F1
- - Line editor with expression recall
- - Expressions can be entered at the DOS command line
- - Support for DOS redirection
- - Adjustable FIX & DIG notation
- - LOAD, WRITE, PRINT, SHELL, COLOR, and more
-
-
- 3. Getting Started
- ===============
-
- 3.1 Installation
- ------------
-
- There is no elaborate procedure for installing UCALC. Simply type
- UCALC to run the program. To customize UCALC, simply create or modify
- the UCALC.DEF and UCALC.TSR text files (explained further down).
- UCALC.EXE, UCALC.DEF, and UCALC.TSR can be placed in a directory
- defined in the PATH statement of the AUTOEXEC.BAT file (such as the DOS
- or UTILS directory), for easier access.
-
-
- 3.2 Single Calculations at the DOS Prompt
- -------------------------------------
-
- There are several ways of running the Ultimate Calculator. The first
- way is to enter an expression at the DOS command line as follows:
-
- UCALC 5+4*8/2 [enter]
-
- At the DOS command line, UCALC will accept the following options:
-
- /? Help
- /TSR Loads UCALC as a memory resident program
- /NODEF Ignores UCALC.DEF
-
- UCALC also supports redirection from the DOS command line.
-
- If an expression is present at the command line, it is evaluated, and
- control returns to DOS. If redirection is performed, control also
- returns to DOS when finished. Otherwise, it goes to the 'ucalc> '
- prompt, where you may enter many expressions and quit with [Esc]. If a
- symbol in the expression is in conflict with DOS, then enclose the
- expression in quotes.
-
- Examples:
- ---------
-
- UCALC 3+6-2
-
- UCALC "5^4 | 5*8"
-
- UCALC /NODEF 3+7
-
- UCALC < abc.cal > output.uc
-
-
- 3.3 Interactive Calculations
- ------------------------
-
- UCALC also provides a line editor for performing multiple calculations.
- This environment allows you to assign values to variables, and define
- functions as you go along. To run UCALC in that mode, simply type
- "UCALC" at the DOS command line without any expression as follows:
-
- UCALC [enter]
-
- When you are in this mode, you can press [F1] any time for help, and
- [Esc] to quit the program. See EXAMPLES.DOC to get more ideas on how
- to use UCALC. For a graphing demo, enter PLOTDEMO from the
- DOS prompt.
-
-
- 3.4 Popping UCALC up with a Hot Key
- -------------------------------
-
- A third way of running UCALC is to first load it as a TSR file. From
- then on, UCALC can be called instantly at any time with a hot key,
- without the user having to go to the DOS prompt.
-
- To load UCALC as a TSR program, simply type this at the DOS prompt:
-
- UCALC /TSR
-
- Or, include that line in your AUTOEXEC.BAT file. Once UCALC is memory
- resident, it can be invoked at any time with a hot key such as "ALT U".
- Before running UCALC as a TSR for the first time, check the parameters
- in UCALC.TSR to make sure they match your needs.
-
- The presence of a UCALC.TSR file is optional. In the absence of this
- file, the parameters are set as follows:
-
- MEMORY=E/F
- SWAPFILE=C:\UCALC$.$$$
- HOTKEY=ALT U
- EXTRAMEM=11000
- TEXTBUFF=15
-
- The following parameters can be set in UCALC.TSR:
-
-
- 3.4.1 Memory
- ------
-
- The following line sets how UCALC is loaded into memory as a TSR:
-
- MEMORY=<option>
-
- where <option> is one of the following:
-
- EMS
- If your computer has EMS memory, then this is the best option. It
- takes less then 6K of main memory, and pops up quickly when invoked.
-
- MAIN
- If this option is chosen, UCALC will pop up quickly when invoked, but
- it will also take a lot of bytes from main memory.
-
- FILE
- This option takes up less then 6K of main memory, but instead of
- swapping to EMS or using up main memory, it swaps to a file. With this
- option, it generally takes more time for UCALC to pop up when invoked.
- When using this option, make sure that there is at least 350Kb free on
- the hard drive. Do not use this option on a floppy drive, as it would
- be painfully slow, and it would crash if the disk were removed when
- popping up. If the FILE option is chosen, a file must be defined with
- "SWAPFILE=".
-
- E/F
- If the "MEMORY=" line is omitted, or if E/F is entered, then UCALC will
- use EMS if detected or it will swap to a file if there's no EMS.
-
-
- 3.4.2 Swap file
- ---------
-
- If a line with "MEMORY=FILE" is used, then a swap file must be defined
- as follows:
-
- SWAPFILE=<filename>
-
- The file name must include the drive letter, and path; for instance
- "SWAPFILE=C:\UCALC$.$$$". Choose a name that is unique, and unlikely
- to be used for something else. To protect the user from accidentally
- erasing this file, it is marked with a hidden attribute. The swapfile
- parameter is ignored if UCALC loads into EMS or main memory.
-
-
- 3.4.3 Hot Key
- -------
-
- By default UCALC is popped up by pressing <ALT U>. This can however be
- changed by placing a line in UCALC.TSR with the following format:
-
- HOTKEY=<CTRL and/or ALT and/or SHIFT> <character>
-
- The following lines are examples of acceptable hot keys:
-
- HOTKEY=ALT 1
- HOTKEY=CTRL V
- HOTKEY=CTRL ALT Z
-
-
- 3.4.4 Extra Memory
- ------------
-
- When UCALC is loaded from DOS without the TSR option, memory is
- allocated dynamically. This means that as new variables and functions
- are being defined, etc... additional main memory is being taken.
- However, when UCALC is loaded as a TSR, a fixed maximum amount of
- memory is allocated (which is generally much less than what is
- available when running it as a non-TSR). This amount can be raised or
- lowered with the following line:
-
- EXTRAMEM=<number>
-
- <number> should be greater than 8000. Anything less may cause UCALC to
- run out of memory even for simple calculations.
-
-
- 3.4.5 Text Buffer
- -----------
-
- This determines how many lines of text can be recalled. When run from
- DOS, 100 lines can be recalled. To conserve memory in TSR mode, the
- number of lines that can be recalled should be reduced. This is done
- by adding this line.
-
- TEXTBUFF=<number>
-
- Where <number> is between 2 and 100.
-
- 3.4.6 Resizing and Moving the Window
- ------------------------------
-
- <Ctrl> Up, Down, Left, or Right arrow is used for moving the window.
- <Alt> Up, Down, Left, or Right changes the window size.
-
- NOTE: When resizing the window, do not use the arrows on the numeric
- keypad, since <Alt> <keypad number> is used for returning
- ASCII characters. Use the other arrows instead.
-
-
- 4. UCALC Prompt
- ============
-
- At the 'ucalc> ' prompt, expressions to be evaluated can be entered,
- functions and variables can be defined, and the following commands and
- function keys can be used:
-
- [F1] Help (same as HELP or ?)
- [F2] Lists variables (same as LIST)
- [F3] Displays UCALC.DEF (same as LIST DEF)
- [F4] DOS shell (same as SHELL)
- [F5] Lists user functions (same as LISTF)
- [Esc] Quit (same as QUIT, see also EXIT)
-
- AUTOCLR [nn] Sets the number of colors used in graphing.
- AXIS color Changes the color of the graphic axis lines.
- CLOSE Closes the file opened with the WRITE command.
- CLS Clears the screen.
- COLOR [foregr] [,backg] Changes the text screen colors.
- CONNECT {ON|OFF} Toggles connected/dotted graphs.
- DIG nn Changes the total number of digits displayed.
- EXIT Exits to DOS (or pops down if in TSR mode).
- EXIT TSR Exits, and de-activates UCALC from memory.
- FIX nn Changes number of decimal digits displayed.
- GCOLOR color Changes graph screen background color.
- GRID color [, pattern] Sets the grid pattern in the graph mode.
- HELP Gives online help (same as F1 or ?).
- INTEG fx,a..b [,n] Numerical integration.
- LIST Lists user defined variables (same as F2).
- LISTF Lists user defined functions (same as F5).
- LIST DEF Displays the contents of UCALC.DEF (F3).
- LOAD"filename" Loads a file.
- MODE {DEG|RAD|GRA} Changes mode to degree, radian, or gradient.
- MODE {HGC|CGA|EGA|VGA|MCGA} Sets the graphic mode for plotting.
- MODE HBO Toggles the hex, binary, octal answer display.
- MONO Turns graphic mode colors off.
- MOUSE [ON|OFF] Toggles mouse support for graphs.
- PASTE Places result on screen after popping down.
- PLOT [equation] Plots user equations (2D).
- PLOT3D [equation] Plots a 3d user equation f(x,z).
- PPLOT Edits previously plotted equations (2D).
- PREC nn Changes the precision used in graphing.
- PRINT [ON|OFF] Prints the current session as you work.
- PROMPT"yourprompt" Changes or removes the 'ucalc> ' prompt.
- PROMPTA"yourprompt" Changes or removes the 'Answer: ' prompt.
- QUIT Exits (same as [Esc]).
- REDIRECT [ON|OFF] Enables or disables redirection.
- SHELL Shells to DOS (same as F4).
- SHELL"command" Executes a DOS command.
- SOLVE fx [=gx] [,a..b] Solves an equation.
- SUM fx,a..b [,dx] Summation of function fx ranging from a to b.
- SUMTABLE fx,a..b [,dx] Summation which displays intermediate results.
- WINDOW(x1,x2,y1,y2) Changes the screen coordinate system.
- WRITE"filename" Records your session to a file.
- ZOOM nn Changes the zoom factor.
-
- The variable 'last' contains the value of the previous computation.
- Variable 'x' is the parameter which should be used with SUM, SUMTABLE,
- and SOLVE. Selections which appear inside brackets [] are optional.
-
- At the 'ucalc> ' prompt, the up (or down) arrow keys can be used to
- recall previous expressions. Several characters may be keyed in before
- pressing the up arrow in order to recall an expression starting with
- those characters.
-
-
- 5. Table of Symbols
- ================
-
- Symbol Equivalent Description Example
- ------ ---------- ----------- -------
- ( ) Prioritizes an expression 5*(1+1) = 10
-
- ! Factorial 5! = 120
- ^ ** Raised to the power of 4 ^ 5 = 1024
- * Multiply by 3 * 6 = 18
- / Divide by 9 / 2 = 4.5
- % MOD Modulo 7 % 4 = 3
- + Add 1 + 1 = 2
- - Subtract 9 - 5 = 4
-
- > Greater than 9 > 2 = 1
- < Less than 7 < 4 = 0
- = == Equal test 5 = 4 = 0
- >= => Greater or equal 3 >= 3 = 1
- <= =< Less or equal $3E <= 9 = 0
- <> Not Equal #b10101 <> 20 = 1
-
- NOT Bitwise 'not' not(15) = -16
- AND & Bitwise 'and' #b101 and #h1E = 4
- OR | Bitwise 'or' 13 or 6 = 15
- XOR Bitwise 'exclusive or' 9 xor 3 = 10
- EQV Bitwise 'equivalence' 6 eqv 9 = -16
- IMP Bitwise 'implication' 1 imp 5 = -1
-
- SIN Sine sin(pi) = 0
- COS Cosine cos(pi) = -1
- TAN Tangent tan(pi) = 0
- ASIN Arcsine asin(1) = 1.570
- ACOS Arccosine acos(-1) = 3.141
- ATAN ATN Arctangent atan(0) = 0
-
- SINH Hyperbolic sine sinh(3) = 10.01
- COSH Hyperbolic cosine cosh(2) = 3.762
- TANH Hyperbolic tangent tanh(1) = 0.761
- COTH Hyperbolic cotangent coth(1) = 1.318
- SECH Hyperbolic secant sech(0) = 1
- CSCH Hyperbolic cosecant csch(1) = 0.850
- ASINH Hyperbolic arcsine asinh(2) = 1.443
- ACOSH Hyperbolic arccosine acosh(9) = 2.887
- ATANH Hyperbolic arctangent atanh(.5) = 1.098
- ACOTH Hyperbolic arccotangent acoth(7) = 0.143
- ASECH Hyperbolic arcsecant asech(.3) = 1.873
- ACSCH Hyperbolic arccosecant acsch(2) = 0.481
-
- ABS Absolute value abs(-8) = 8
- EXP e to the power of exp(3) = 20.08
- RND Random number rnd(1) = .9686
- INT Truncate to an integer int(6.8) = 6
- CEIL Round upward ceil(6.8) = 7
- EXP2 2 to the xth power exp2(3) = 8
- EXP10 10 to the xth power exp10(3) = 1000
- FACT Factorial fact(5) = 120
- LOG2 Log base 2 log2(8) = 3
- LOG10 Log base 10 log10(100) = 2
- LOG LN Natural log log(16) = 2.77
- SGN SIGN Sign of expression sgn(-9) = -1
- SQR SQRT Square root sqr(64) = 8
-
-
- 6. Order of Precedence
- ===================
-
- Here is the precedence list from highest to lowest priority:
-
- Anything inside parenthesis is performed first ( )
- Factorial !
- Exponentiation ^
- Multiplication, division *, /
- Modulo MOD
- Addition, subtraction +, -
- Relational operators <, >, >=, <=, =, <>
- AND
- OR, XOR (exclusive or)
- EQV (equivalence)
- IMP (implication)
-
- When consecutive operators have the same priority, UCALC evaluates from
- left to right. This means that an expression such as "a-b-c" is
- evaluated as "(a-b)-c".
-
-
- 7. Flexible Syntax
- ===============
-
- UCALC is designed to work in a simple and familiar way, and it
- accommodates itself to several styles, so that users may start being
- productive the very first time the program is executed. Refer to
- '5. Table of Symbols' for the alternative notations of several
- operators and functions. The entries below which are grouped together
- are equivalent:
-
- ucalc> LOAD"myfile" ; The interchangeability of the quote and
- ucalc> LOAD myfile ; parenthesis, or lack of either is also possible
- ucalc> LOAD(myfile) ; for MODE, FIX, DIG, AUTOCLR, and PREC.
-
- ucalc> SOLVE(x^2=100) ; The outer parenthesis can also be omitted in
- ucalc> SOLVE x^2=100 ; WINDOW, INTEG, SUM, and SUMTABLE.
-
- ucalc> SUMTABLE(x, 1..10) ; Any entry which uses '..' can
- ucalc> SUMTABLE(x, 1 to 10) ; also use ' TO ' instead.
- ucalc> SUMTABLE x, 1 to 10
-
- ucalc> PLOT y=x^2 ; 'y=' can be omitted for these types
- ucalc> PLOT x^2 ; of graphic equations.
-
- ucalc> PLOT x=t, y=t^2, -5..5 ; 'x=' and 'y=' can be omitted
- ucalc> PLOT t, t^2, -5..5
- ucalc> PLOT t, t^2, -5 to 5
-
-
- 8. GRAPHING
- ========
-
- To see a demonstration of some of UCALC's graphing capabilities, enter
- the following at the DOS prompt:
-
- PLOTDEMO
-
- Make sure that the PLOTDEMO.BAT, PLOTDEMO, and GRAPH.DAT files are in
- the current directory.
-
-
- 8.1 How to Plot
- -----------
-
- Syntax: PLOT equation
- or PLOT
-
- This plots 2D user equations. If an equation is entered on the same
- line as the PLOT command, then it will be plotted. If PLOT is entered
- alone at the 'ucalc> ' command line, then the user will be asked to
- enter several equations. Press [return] twice when finished entering
- equations. Up to 16 user equations can be displayed simultaneously.
-
- NOTE: Unlike expressions which are evaluated at the 'ucalc> ' prompt,
- equations that are going to be plotted aren't checked for
- certain errors. Division by 0, square root of negative numbers,
- etc... do not stop the graph from being plotted.
-
- Examples:
- ---------
-
- ucalc> PLOT sin(x)
-
- ucalc> PLOT r=t/5
-
- ucalc> PLOT 2x+7
-
- ucalc> PLOT ; PLOT by itself prompts for multiple equations
- Equation 1: x^2 ; Plots a parabola
- Equation 2: fill(1,3) ; Fills an area bounded by the equation above
- Equation 3: line(2,3,-1,5); Line segment from (2,3) to (-1,5)
- Equation 4: r=t^2/pi ; Polar equation
- Equation 5: cos(t), sin(t); Parametric equation
- Equation 6:
-
- After hitting [enter] on the blank line, it will plot the 5 entries
- above. Any combination of 2D equations can be entered. The plotting
- of an equation can be aborted at any time, by hitting any key.
-
- The following entries can be plotted:
-
-
- 8.1.1 Cartesian
- ---------
-
- Syntax: y = f(x) [,start..finish] (or simply f(x))
-
- This plots a curve in the rectangular coordinate system (Cartesian).
- As a shortcut, the 'y=' can be omitted. For instance, 'y=x^2' can
- simply be entered as 'x^2'. The variable parameter is 'x'. Equations
- can optionally be plotted within an interval defined by start & finish.
-
- Examples:
- ---------
-
- PLOT y=tan(x)
-
- PLOT sin(x)-3
-
- PLOT 3cos(x), -pi to 2pi
-
- PLOT 3x^2-5x+1, 0..2 ; ('0..2' can also be written as '0 to 2')
-
-
- 8.1.2 Parametric
- ----------
-
- Syntax: x = f(t), y = g(t) [,a..b] (or simply f(t), g(t) [,a..b])
-
- Certain types of curves in the x-y plane cannot be expressed in the
- form 'y=f(x)'. Parametric equations are more flexible, and can even be
- used as a superset of equations in the 'y=f(x)' form. 'y=f(x)' can be
- expressed as 'x=t, y=f(t)'. Equations in the form 'x=f(y)' can also
- be entered as a parametric equation, in the form 'x=f(t), y=t'. If the
- optional interval is omitted, UCALC uses 0..2pi.
-
- Examples:
- ---------
-
- ucalc> PLOT x= cos(t), y= t-2
-
- ucalc> PLOT cos(t), t-2 ; This is the same as above
-
- ucalc> PLOT cos(t)-1, sin(t)+t-5, 0..3pi
-
- ucalc> PLOT 2 cos(t), t, -5..5
-
- NOTE: Remember that the variable parameter for parametric equations is
- 't' and not 'x'.
-
-
- 8.1.3 Polar
- -----
-
- Syntax: r = f(t) [,a..b]
-
- 'r=' is what makes UCALC recognize that it's a polar equation, so 'r='
- is not optional. If the optional a..b interval is not entered, then
- the default 0..2pi will be used. The variable parameter for polar
- equations is 't'.
-
- Examples:
- ---------
-
- ucalc> PLOT r=t/pi, 0..10pi
-
- ucalc> PLOT r=sin(t)
-
- ucalc> PLOT r=t*sin(t)
-
-
- 8.1.4 3D Surface
- ----------
-
- Syntax: y = f(x,z) [,start..finish] (or simply f(x,z))
-
- This plots a surface in 3D space. As a shortcut, the 'y=' can be
- omitted. For instance, 'y=sin(x)*z' can simply be entered as
- 'sin(x)*z'. The variable parameters are 'x' and 'z'. Equations
- can optionally be plotted within an interval defined by start & finish.
- Graphs are plotted in the following xyz view point.
-
- y |
- | / z
- | /
- -------
- x
-
- Examples:
- ---------
-
- PLOT3D y=sin(x)*z
-
- PLOT3D sin(sqrt(x^2+z^2))*5
-
- PLOT3D sin(x), -5 to 5
-
-
- 8.1.5 Plotting data from another file
- -------------------------------
-
- Syntax: "mygraph.dat"
-
- Graphs from a text file can be plotted by entering the name of the file
- inside quotes. The file must consist of a list of x and y coordinates
- which are separated by spaces, or a comma. The file may look something
- like this:
-
- -10 .5440211108893698
- -9 -.4121184852417566
- -8 -.9893582466233818
- -7 -.6569865987187891
- etc...
-
- Examples:
- ---------
-
- ucalc> PLOT"mygraph.dat"
-
- ucalc> PLOT
- Equation 1: "mygraph.dat"
-
-
- 8.1.6 Line Segment
- ------------
-
- Syntax: LINE(x1,y1,x2,y2)
-
- This produces a line segment with endpoints (x1,y1) and (x2,y2).
-
- Example:
- --------
-
- ucalc> PLOT line(3,2,5,7)
-
-
- 8.1.7 Rectangle
- ---------
-
- Syntax: RECT(x1,y1,x2,y2)
-
- This produces a rectangle which has opposing corners (x1,y1) and
- (x2,y2).
-
- Example:
- --------
-
- ucalc> PLOT rect(0,0,5,6)
-
-
- 8.1.8 Filling an Area
- ---------------
-
- Syntax: FILL(x,y)
-
- This fills a bounded area on the screen in which (x,y) is located. In
- monochrome mode, it fills the area around (x,y) enclosed within any
- other curve, or the edge of the screen. If the graphs are in multiple
- colors, then the FILL statement only uses the color of the preceding
- graph as a boundary. See the example in '8.1 Plotting'.
-
-
- 8.2 Graph menu
- ----------
-
- When graphing is completed, a menu with function keys appears at the
- top. Due to limited space, the descriptions on screen are very brief.
- Here is a more detailed explanation of each option.
-
-
- 8.2.1 [F2] Reset
- ----------
-
- This clears the screen, sets graphs to their original sizes, and then
- replots them.
-
-
- 8.2.2 [F3] Fill
- ---------
-
- Move the cursor inside an enclosed area of the screen, and press F3.
- This will fill the enclosed area. This works best in the MONO mode
- (press F8 for MONO).
-
-
- 8.2.3 [F4] Color
- ----------
-
- 1. When the cursor is in the free-floating mode (default) the
- background color changes.
-
- 2. If a graph is being traced, F4 will change the color of that graph.
-
-
- 8.2.4 [F5] Grid/Axis
- --------------
-
- This sets or removes the grid and axis lines for 2D graphs. Press it
- several times to cycle through the options.
-
-
- 8.2.5 [F6] Dot/Connect
- ----------------
-
- This toggle plots equations as connected curves, or with disconnected
- dots. When the precision is set high enough, dots are close together
- and may seem connected.
-
-
- 8.2.6 [F7] Trace
- ----------
-
- This allows users to trace through polar, parametric, and y=f(x)
- equations. Use the right and left arrow keys (or mouse) to trace
- through a graph. Pressing F7 again will put the cursor back in the
- free-floating mode. Use the up or down arrow keys to choose the
- previous or next equation.
-
- For a "y=f(x)" type of equation, tracing starts on the x coordinate of
- the current cursor location. For polar & parametric equations, tracing
- starts at the origin, and additional coordinates are displayed.
-
-
- 8.2.7 [F8] Mono
- ---------
-
- Due to lack of space, this option is not displayed on the menu. This
- sets all the graphs to the same color, allowing the F3 FILL option to
- work more effectively. Pressing it a second time sets it back to color
- again.
-
-
- 8.2.8 [F9] Zoom In
- ------------
-
- In order to zoom in on an area, place the cursor in the center of the
- area of interest, and press F9 or the left mouse button. The zoom
- factor can be changed with the ZOOM command.
-
-
- 8.2.9 [F10] Zoom Out
- --------------
-
- This zooms out. The right mouse button can also be used.
-
-
- 8.3 Special Graphing Commands
- -------------------------
-
- The following commands can be entered at the 'ucalc> ' prompt,
- or placed in the UCALC.DEF file:
-
-
- 8.3.1 AUTOCLR (automatic coloring)
- ----------------------------
-
- Syntax: AUTOCLR [nn]
-
- This command causes each consecutive graph to be displayed in a
- different color. The optional 'nn' parameter indicates how many
- different colors can be used. The default is 15. If some graphs turn
- out to be invisible, then a smaller number should be chosen for 'nn'.
- The CGA and MCGA modes in UCALC do not support color.
-
- Examples:
- ---------
-
- ucalc> AUTOCLR ; Allows 15 different colors (default)
- ucalc> AUTOCLR 3 ; Tells UCALC to use only 3 different colors
-
-
- 8.3.2 AXIS (sets axis line color)
- ---------------------------
-
- Syntax: AXIS color
-
- This sets the axis line color. Color 0 turns the axis lines off. It
- can be toggled interactively in the graphic screen with F5.
-
- Examples:
- ---------
-
- ucalc> AXIS 0 ; Turns the axis lines off.
- ucalc> AXIS 1 ; Axis lines set to blue
-
-
- 8.3.3 CONNECT (toggle for dot/connect)
- --------------------------------
-
- Syntax: CONNECT {ON | OFF}
-
- When CONNECT is OFF, graphs will be drawn as a series of dots, as
- opposed to a continuously connected curve. A dot graph is better for
- plotting certain discontinuous graphs, such as "y=INT(x)". When in the
- graphic screen, F6 will interactively toggle the connect option.
-
- Example:
- --------
-
- ucalc> CONNECT OFF
-
-
- 8.3.4 GCOLOR (background color in graphic mode)
- -----------------------------------------
-
- Syntax: GCOLOR color
-
- This sets the background color on the graphic screen. In the VGA mode,
- a number between 0 and 63 is accepted. The graphic color can also be
- changed interactively by pressing F4 in the graphic screen.
-
- Example:
- --------
-
- ucalc> GCOLOR 10
-
-
- 8.3.5 GRID (sets grid color & pattern)
- --------------------------------
-
- Syntax: GRID color [,pattern]
-
- This command sets the color and pattern of the grid that will be used
- in the graphic screen. In order for the grid not to appear, set GRID
- to 0. The optional "pattern" parameter sets a pattern for the line.
- The default is #b1000100010001000
- . . . . . . . . . .
- As illustrated with the dots above, this represents a pattern with each
- 1 corresponding to a pixel (the pixel dots are of course much closer
- together in the graphic screen). A pattern of -1 makes it a continuous
- line. The grid can be toggled on or off interactively with F5.
-
- Example:
- --------
-
- ucalc> GRID 4 ; Sets a grid with color 4
- ucalc> GRID 1, #b1010101010101010 ; Sets a dotted grid with every
- ; other pixel turned on
- ucalc> GRID 5, -1 ; -1 makes it a continuous line
-
-
- 8.3.6 MODE (selects graphic card)
- ---------------------------
-
- Syntax: MODE {CGA | EGA | HGC | VGA | MCGA}
-
- This changes the graphic mode that is used for plotting. When UCALC
- loads up, it automatically determines the highest resolution supported
- by your computer. To change it to another screen mode, put a MODE
- statement in UCALC.DEF (or type it at the 'ucalc> ' prompt), with the
- proper selection.
-
- Example:
- --------
-
- ucalc> MODE EGA ; Sets the monitor to EGA mode
-
-
- 8.3.7 MONO (turns colors off)
- -----------------------
-
- Syntax: MONO
-
- This turns all colors off in the graphic mode. Those who do not have a
- color monitor may want to include this command in UCALC.DEF. This
- command may also be useful for a better printout, or when filling the
- area between graphs.
-
-
- 8.3.8 PLOTF (sends the graph coordinates to a file)
- ---------------------------------------------
-
- Syntax: PLOTF"filename"
-
- This sends all the coordinates of the next 2D graph to the specified
- file. Follow this command with the PLOT or PPLOT command.
-
-
- 8.3.9 PPLOT (edits previously plotted equations)
- ------------------------------------------
-
- Syntax: PPLOT
-
- In order to modify a few things in a set of equations that have been
- plotted before, use the PPLOT command at the 'ucalc> ' prompt to avoid
- retyping everything. Sometimes you may want to simply change a setting
- such as the zoom factor or graph precision, and plot the previous set
- of equations without modification. In this case, type "PLOT" and press
- [enter] twice.
-
- Examples:
- ---------
-
- ucalc> PPLOT ; This lets you modify previously graphed equations.
- ucalc> PLOT
- Equation 1: ; Press [enter] without typing an equation to replot
- the previous set, if no modifications are desired.
-
-
- 8.3.10 Graphing precision (PREC)
- -------------------------
-
- Syntax: PREC nn
-
- This changes the precision used in graphing. 'nn' represents the
- number of pixels per unit (x-axis). The higher 'nn' is, the higher the
- precision will be. More precision naturally means slower plotting.
- The default precision is 10, and should be fine for many graphs. If
- stray lines appear in an unbounded graph, or if the graph appears
- jagged, or if the curve doesn't quite reach the starting or ending
- points (such as in polar graphs) then raising the precision will often
- solve the problem.
-
- Example:
- --------
-
- ucalc> PREC 100
-
-
- 8.3.11 WINDOW (sets screen coordinate system)
- --------------------------------------
-
- Syntax: WINDOW(x1,x2,y1,y2)
-
- This modifies the graphic screen coordinate system. x1 and x2
- represent the screen end locations of the X axis, and the Y axis goes
- from y1 to y2. The X and Y axes cross at (0,0). The default setting
- is WINDOW(-10,10,-7.5,7.5), which means that the origin (0,0) is at the
- center of the screen, with point (-10,-7.5) at the bottom left of the
- screen and (10,7.5) at the top right of the screen.
-
- Examples:
- ---------
-
- ucalc> WINDOW(0,10,0,7.5)
- This sets the origin at the bottom left of the screen.
-
- ucalc> WINDOW(-1,1,-1,1)
- The origin is at the center, and x goes from -1 to 1, and so does y.
-
- ucalc> WINDOW(-10,10,-7,7)
- This creates a better proportional window in the EGA mode.
-
-
- 8.3.12 ZOOM (changes zoom factor)
- --------------------------
-
- Syntax: ZOOM factor
-
- This sets the zoom factor. The default is 5. When a graph is on the
- screen, place the cursor on an area that you want to magnify. Press F9
- to zoom in, or F10 to zoom out.
-
- Examples:
- ---------
-
- ucalc> ZOOM 10 ; When you later press the Zoom In key, the image
- ; will be magnified 10 times.
-
-
- 8.4 Moving the Crosshair
- --------------------
-
- For mouseless systems, after the graphs have been plotted, a crosshair
- (graphic cursor) is placed at the upper left hand corner of the screen.
- It can be moved with the arrow keys in order to pinpoint coordinates on
- the screen. The Home, End, PgUp, and PgDn keys can also be used, for
- diagonal movement. To move the crosshair slowly, press the key and
- release it quickly. To move it faster, hold the key down as it
- accelerates. A mouse can be used to move the mouse pointer.
-
-
- 8.5 Adding Text to the Screen
- -------------------------
-
- To add text on the graphic screen, simply start typing wherever the
- crosshair cursor (or mouse pointer) is located.
-
-
- 8.6 Printing a Graphic Screen
- -------------------------
-
- For DOS users, in order to be able to send graphs to the printer, run
- GRAPHICS.COM (which comes with DOS) before loading UCALC. Then, when a
- graph is on the screen, press the 'Print Screen' key to send it out to
- the printer. For better results on printers which do not support color,
- issue the MONO command at the 'ucalc> ' prompt before plotting. See the
- DOS manual for more details on GRAPHICS.COM. This version of UCALC has
- no built-in mechanism for printing.
-
- NOTE: Windows 95 users may press ALT ENTER to downsize the graph, and
- cut the desired portion of the screen, and past it into a word
- processor.
-
-
- 9. Summation
- =========
-
- Syntax: SUM fx, a..b [,dx]
-
- b
- ____
- \ f(x) is written as 'SUM f(x), a..b', where f(x) is your
- /___ function, and a..b is the range.
- x= a The summation cannot be part of another expression.
-
- The optional dx parameter can be used in order to indicate an
- increment other than the default 1.
-
- Examples:
- ---------
-
- ucalc> sum x^2+2*x+14, 5..1000
- Answer: 334848394
-
- ucalc> sum x^3-2, 1..15, .1
- Answer: 127971.6
-
- SUMTABLE is the same as SUM, except that intermediate values are
- displayed as the sum is being added.
-
- ucalc> sumtable x^2/fact(x), 1..3
- Count Value Cumulative
- 1 1 1
- 2 2 3
- 3 1.5 4.5
-
- Answer: 4.5
-
- A long list can be aborted with the [Esc] key.
-
-
- 10. Numerical Integration
- =====================
-
- Syntax: INTEG fx,a..b [,n]
-
- This approximates the value for the definite integral of fx, using
- Simpson's rule. This rule requires that n be an even number. UCALC
- takes care of that by automatically transforming n to the next
- highest even number (n = n + n mod 2). If no value for n is given,
- then 100 is used as the default number of subdivisions. This command
- works properly only when fx is a continuous function. INTEG cannot be
- part of another expression.
-
- Examples:
- ---------
-
- ucalc> integ x*sin(x), 0..pi
- Answer: 3.14159267059288459
-
- ucalc> integ 1-x^2, 0..1, 8
- Answer: .666666666666666667
-
-
- 11. Solving Equations
- =================
-
- Syntax: SOLVE fx [=gx] [,a..b]
-
- This solves an equation for the value of 'x'. The statements in
- brackets are optional. If the expression on the right of the = sign is
- 0, then you can simply do: 'SOLVE expression'. For instance,
- 'SOLVE 3*x+2=0 can be written as SOLVE 3*x+2. If the equation happens
- to have several solutions, you can indicate the interval (a..b) of the
- particular solutions you are interested in.
-
- The algorithm used in this program for solving equations is the
- Bisection Method, which is a special case of the Intermediate Value
- Theorem. A solution can be found for continuous functions in the
- interval a < x < b, where f(a) < 0 < f(b). If a..b is not defined,
- then the default interval is from -1E6 to 1E6. If a real solution does
- exist, but cannot be found with the default interval, then try
- narrowing the interval as much as possible.
-
- Examples:
- ---------
-
- ucalc> solve exp(x+x^2)-sqr(x+5) = 127
- Answer: -2.75962472778054749
- Answer: 1.76151609179570087
-
- ucalc> solve sin(x)=cos(x), 0..pi
- Answer: .78539816339744831
-
- ucalc> solve x^3+2*x+5 = 10+7
- Answer: 2
-
- ucalc> solve 2*x^2-3
- Answer: -1.22474487139158905
- Answer: 1.22474487139158905
-
-
- 12. Numerical Notations
- ===================
-
- The default numerical type is DECIMAL. Binary, octal, and hexadecimal
- number types are also supported. The latter types must be preceded by
- the # (number sign) symbol, and one of the letters "h", "b", or "o",
- for hexadecimal, binary, or octal in that respective order. The $ sign
- for hexadecimal notation can be used as a shortcut. See examples.
-
- In order to see all your answers in hex, binary, and octal, issue the
- command: mode HBO
-
- Exponential notation is also supported. These are numbers followed by
- the letter E, and an exponent number. For instance: 3.4E+5 translates
- to 3.4*10^5, and 3.4E-5 translates to 3.4*10^(-5).
-
- Examples:
- ---------
-
- #b110101110, #o656, #h1AE, $1AE, 430, 4.3E2
- are all the same number.
-
- #b10101^2 * 5/$1EF + sin(5.8+2)*cos(#o302)-7E6 is a valid expression.
-
-
- 13. Implicit Multiplication
- =======================
-
- When writing math expressions, it is common to omit the times symbol
- (*), when multiplication is implied. For instance, one may write
- '2x+5', which is the same as '2*x+5'. The following are examples of
- implied multiplications supported by UCALC.
-
- Expression Equivalent
- ---------- ----------
- x y x*y
- 3pi+10 3*pi+10
- 5(4+8) 5*(4+8)
- (5+5)(3+9) (5+5)*(3+9)
- (3+2)8 (3+2)*8
-
- NOTE: Implicit multiplication has the same priority as regular
- multiplication. For instance '1/2q' is the equivalent of
- '1/2*q' not '1/(2q)'. (This is subject to change in a future
- version).
-
-
- 14. Assigning Variables
- ===================
-
- Variables can be used to store values, which can later become part of
- an expression. Variables are composed of letters of the alphabet, and
- may contain numerical digits, as long as a numerical digit is not the
- first character. A variable can be up to 1024 characters long.
-
- Examples:
- ---------
-
- mynumber = 12345
- mass = 15
- speed = 23+10.5
- m1 = 10*pi^2
- cb26 = sqrt(37) + mynumber
-
-
- 15. Assigning Functions
- ===================
-
- Once defined, a user function behaves in the same way as a built-in
- function. Argument names used in defining functions are temporary, and
- do not affect user variables with the same name. The name of the
- function itself, however, should be unique. The naming convention of
- functions is similar to that of variables. User functions can accept
- many arguments.
-
- Examples:
- ---------
-
- cube(x) = x^3
- area(r,h) = pi*r*sqr(r^2+h^2) ; area of right circular cone
- logx(base,num) = ln(num) / ln(base)
- abc(x,y,z) = 5 + logx(x,y)*z
-
-
- 16. Miscellaneous Commands
- ======================
-
- 16.1 LOAD command
- ------------
-
- Syntax: LOAD"filename"
-
- This command loads up the contents of a file into the UCALC workspace.
- The file may contain any UCALC command. A file saved with the WRITE
- command however, cannot be loaded directly if it contains 'ucalc> '
- prompts.
-
- Examples:
- ---------
-
- ucalc> load"convert.def"
- ucalc> load"finance.def"
- ucalc> load"formula.asc"
-
-
- 16.2 WRITE command
- -------------
-
- Syntax: WRITE"filename"
-
- This command records your UCALC session to the file name that you
- specify. Everything that is displayed on the screen will go to that
- file verbatim, until you issue the CLOSE command, or exit. If the file
- already exists, the WRITE command will append to it without removing
- what is already in the file.
-
- Example:
- --------
-
- ucalc> write"ucalc.log"
-
-
- 16.3 SHELL command
- -------------
-
- Syntax: SHELL
-
- This allows you to drop to DOS temporarily. To resume your session,
- type EXIT at the DOS prompt. [F4] does the same thing as the SHELL
- command. You may also pass a command for DOS to execute.
-
- Examples:
- ---------
-
- ucalc> shell"dir" ; This executes the DIR command.
- ucalc> shell ; This drops you to DOS until you type EXIT.
-
- NOTE: The SHELL command cannot be used in TSR mode.
-
-
- 16.4 COLOR (text color)
- ------------------
-
- Syntax: COLOR [foreground] [,background]
-
- The foreground and background colors of the text screen can be set at
- the 'ucalc> ' prompt (or in UCALC.DEF) with this command. On color
- monitors, the foreground color can be a number between 0 and 31.
- Background colors can be between 0 and 7. UCALC also clears the screen
- when this command is entered. See a DOS or programming manual for
- color values.
-
- Examples:
- ---------
-
- ucalc> COLOR 7,1 ; sets the screen to white over blue
- ucalc> COLOR 11,0 ; light cyan over black
- ucalc> COLOR 5 ; changes only the foreground
- ucalc> COLOR ,3 ; changes only the background
-
-
- 16.5 REDIRECT
- --------
-
- Syntax: REDIRECT {ON|OFF}
-
- Turning redirection off allows text to be displayed on the screen
- faster. Also, the color statement may work better when redirection is
- off, depending on your screen configuration. By default, UCALC
- redirection is ON if UCALC is executed from DOS, and OFF when UCALC is
- loaded as a TSR.
-
-
- 17. UCALC.DEF
- =========
-
- Commonly used constants & functions, such as e, and logx(x,y) and any
- others that are used regularly, and start-up settings, such as COLOR,
- and PROMPT, etc... can be defined in UCALC.DEF. This file can be
- created or modified with any ASCII text editor. The semicolon (;) can
- be used as a remark. Anything following it will be ignored.
-
- Every time UCALC is run, it looks for UCALC.DEF in the current
- directory first. If it's not found there, it searches the directory
- which UCALC.EXE was loaded from. If the file is found, its functions
- and variables are loaded. The /NODEF option at the command line is
- equivalent to not having a UCALC.DEF file.
-
- Here is an example of what UCALC.DEF may look like:
-
- color 11,1
- grid 3,#b10101
- mode HBO
- window(-10,10,-7,7)
- load"convert.def"
- prompt"" ; Removes the default 'ucalc> ' prompt
- prompta"A:" ; Replaces the default 'Answer: ' prompt with 'A:'
-
- e = 2.718281828459045 ; Natural log constant
- gravity = 9.8 ; Acceleration due to gravity
- na = 6.0221367E+23 ; Avogadro's number 1/mol
-
- logx(base,num) = log(num) / log(base)
-
- A total maximum of 300 variables, and 200 user functions can be defined
- (and usually much less in TSR mode).
-
-
- 18. Technical Notes
- ===============
-
- o UCALC is not case sensitive. Upper case letters are treated just the
- same as lower case letters. For instance, pi, PI, and Pi are all
- treated the same.
-
- o Rounding: The rounding method in UCALC is called banker's rounding.
- With this method, numbers ending with the digit 5 are rounded towards
- the closest even digit. For instance, both 11.5 and 12.5 are rounded
- to 12, and both 13.5 and 14.5 are rounded to 14, when FIX is set to
- 0. Only the displayed number is rounded, while the actual
- calculations are always performed in high precision.
-
- o Random Numbers: The RND function produces a random number between 0
- and 1. RND(1) returns a new random number each time it is used.
- RND(0) returns the previously used random number. If x is negative,
- then RND(x) returns a predictable number. For instance, RND(-5) will
- produce the same number each time. To get a random number between 0
- & x, simply use RND(1)*x. For instance, RND(1)*50 will return a
- random number between 0 & 50.
-
- o Ugly Numbers: Occasionally, numbers are not displayed as one might
- expect. For instance you might get .499999999999999999 instead of
- .5, or 8.23423423982432343E-18 instead of 0, which is actually pretty
- close to the answer. This may happen as a result of lengthy
- operations, or certain types of functions. One solution is to reduce
- the number of decimal digits that are displayed with the FIX command.
-
- o HBO mode: When this mode is on, it will display the hex, binary, and
- octal notations, only for values between -32766 and 65535. Numbers
- beyond that range are displayed only in decimal form. Negative
- numbers are represented in "two's complement" form. Only the integer
- part of a number is displayed in hex, bin, and oct. Entering 'MODE
- HBO' turns the HBO mode on. Typing it again turns it back off.
-
- o Relational operators return a 1 for true expressions, and 0 for false
- ones. For instance, '5 > 3' returns 1, and '5 < 3' returns 0.
-
- o Compound Functions: Functions with multiple entries may be defined
- by using relational operators. For instance:
-
- / 2+x^2, x > 0
- f(x) = | 3, x = 0
- \ x*2+8, x < 0
-
- can be written as:
-
- f(x) = (2+x^2)*(x > 0) + (3)*(x = 0) + (x*2+8)*(x < 0)
-
- o Equal Sign: The single equal sign, =, can be used both for assigning
- functions & variables, and as a relational operator. If there is a
- conflict in the logic of an expression such that it can be taken
- either way, then use the double equal sign, ==, when a relational
- operator is intended. An assignment is assumed only when the
- expression left of the left-most equal sign is a valid function or
- variable name. To avoid all confusion, use == for relational
- operations.
-
- o Limited Function Space: There is a limit of instructions (such as +,
- -, *, etc...) which can be used for defining functions. Every time a
- function is defined or redefined, part of the instruction list is
- filled, and cannot be reclaimed during a UCALC session. An error
- message is given when too many functions have been defined.
-
- o Each expression can use a maximum of 33 instructions. If an
- expression is too long, UCALC returns an error message. Expressions
- can be broken down into several shorter ones.
-
- o The graphic screen is optimized for the VGA mode. With lower
- resolution, the crosshair will give a less accurate reading of its
- location on the screen. WINDOW(-10,10,-7,7) is a better match for
- the proportions of the EGA screen mode.
-
- o UCALC can be de-activated from memory with the command "EXIT TSR".
- However, in order for UCALC to be able to remove itself successfully
- from memory, UCALC should be the last TSR to be loaded, and the
- unloading should take place when UCALC is popped up at the DOS
- prompt.
-
- o End-of-file: When doing redirection from the DOS command line, make
- sure that the input file ends with an end-of-file marker (^Z, or
- ASCII 26). Many text editors take care of this automatically, but a
- few don't. An input file may alternatively end with a ^C (ASCII 3)
- or the EXIT command. Be sure to add several blank lines at the end
- of the input file. An input file with no ^C, ^Z or EXIT, and no
- blank lines at the end may cause UCALC to freeze.
-
- o Redirection mode is forced off when UCALC is loaded as a memory
- resident program. If the REDIRECT ON command is manually issued when
- in TSR mode, UCALC may crash when popping down. This will hopefully
- be changed in a future version.
-
-
- 19. Registration
- ============
-
- You are granted a 30 day period for evaluating UCALC. Continued usage
- of this program beyond this trial period requires payment of a
- registration fee to the author. The fee is only $25 for one person,
- or less per unit (see UCALCREG.DOC) when purchasing a site license for
- use on several computers. Continued development of this program
- depends on users like you who pay for it.
-
- Registered users receive a special code that permanently deactivates
- all registration reminders. Notice that there is no extra shipping
- charge in this version because of this, even for international users.
-
- In order to help me better support this program, please answer the
- questions in QUEST.DOC, whether you decide to register or not. This
- will allow me to keep the price down, and add the right features in the
- next version. Use the form in UCALCREG.DOC to place your registration.
-
- Easy Service
- ------------
- For your convenience, you can order UCALC from the Public Software
- Library with your Visa, Master Card, American Express, or Discover card
- by calling toll-free at 1-800-242-4PSL (overseas: 713-524-6394) or by
- FAX to 713-524-6398, and even by Compuserve at 71355,470. PSL NUMBERS
- ARE FOR ORDERING ONLY. I cannot be reached through PsL. To reach me
- personally, call 305-233-2604, or send e-mail at Dancorbier@aol.com
- (or corbier@satelnet.org). The PsL part number for UCALC is 10655.
-
- Compuserve users can register by typing GO SWREG, and choosing
- registration ID: 3591.
-
- Support
- -------
- I will try to extend my support to unregistered users during their
- evaluation period, however, I reserve the right to limit this support.
- The preferred method of communication is via e-mail whenever possible.
- See section 21 for other ways of reaching the author.
-
- License
- -------
- For this license agreement, a site is considered to be any corporation,
- institution, government agency, computer lab, or non-personal
- organization, with more than one computer capable of running the UCALC
- software.
-
- A site may use the unregistered version for evaluation purposes only.
- If the site decides to continue using UCALC after 30 days, a site
- license must be purchased. The site license arrangement provides for
- volume discounts. See the file named UCALCREG.DOC for the low rates
- that are available.
-
- A site license is for use of the software within your site, and is not
- transferable. This license allows the internal use and copying of the
- software by as many computers as contracted for. Distribution,
- repackaging, or reselling of the licensed version to third parties is
- not allowed under this agreement. The unregistered version however may
- be freely distributed, as long is it contains all original files, in
- unmodified form.
-
- The LICENSER (Daniel Corbier) warrants that he is the sole owner of the
- UCALC software and has full power and authority to grant this license
- herein without consent of any other party.
-
- Disclaimer
- ----------
- The Ultimate Calculator (UCALC) is provided on an "as is" basis without
- warranty of any kind, expressed or implied. The person using the
- software bears all risk as to the quality and performance of the
- software. The author will not be held liable for any special,
- incidental, consequential, direct or indirect damages due to any
- malfunctions.
-
- Aside from the legal stuff, I'm eager to support this program as much
- as possible. I want to hear your suggestions for the next release.
-
-
- 20. Shareware Author & User Case Study
- ==================================
-
- In the process of developing UCALC, and searching for ways to make it
- profitable, I did some research to find the right ingredients for
- getting people to pay for shareware programs they use. So, I conducted
- a survey asking many shareware users what motivates them to register.
- I also asked a number of well-known successful shareware authors what
- they have done to receive many registrations. The results are written
- in a document which can be found in many online places. Here's the
- description:
-
- Filename: SAUCS1.ARJ (or .ZIP, .LZH, .SDN, ..)
-
- Description: SHAREWARE AUTHOR & USER CASE STUDY v1 - Answers
- questions that shareware authors often ask, such as what
- motivates users to register, what prevents them from
- doing so, how much they are willing to pay, how to get
- one's program "out there", whether or not crippling and
- nagging works, how long users take to evaluate programs
- before paying, etc ... Answers are based on survey
- responses from shareware users and successful authors.
-
- Size: 42k (when compressed with ARJ)
-
-
- 21. My Address
- ==========
-
- For information about dealer pricing, volume discounts, site licensing,
- latest versions, suggestions, or for technical information, you can
- contact me through one of the following means:
-
- US Mail:
- Daniel Corbier
- 20410 SW 92 Place
- Miami, FL 33189
-
- FAX: 305-233-2604
-
- Voice: 305-233-2604
-
- Internet:
- Dancorbier@aol.com
- (or corbier@satelnet.org, or corbier@delphi.com)
- World Wide Web (WWW):
- http://members.aol.com/Dancorbier/ucalc.html
-
- Fidonet:
- Daniel Corbier at 1:135/110
-
- Compuserve: 75541,1523
-
- The following addresses can also be used from Compuserve:
- INTERNET: Dancorbier@aol.com
- (or INTERNET: corbier@satelnet.org)
-
- I try my best to answer all e-mail inquiries. Sometimes e-mail can get
- lost. If several days pass without a response, please try sending e-
- mail to another listed address. Your messages are important.
-
-
- 22. Distribution
- ============
-
- You are encouraged to distribute the shareware version of UCALC. The
- following files must all be present and unmodified when distributed:
-
- UCALC.DEF Sample UCALC.DEF file
- UCALC.TSR Options for TSR mode
- UCALC.EXE Executable
- UCALC.DOC Documentation
- QUEST.DOC Questionnaire
- HISTORY.DOC Lists the features that were added in each version
- EXAMPLES.DOC Examples for UCALC
- UCALCREG.DOC Registration form
- PLOTDEMO Demo of equations that UCALC can plot
- PLOTDEMO.BAT Graphing demo batch file
- GRAPH.DAT Sample coordinate data file for the graphic demo
- CONVERT.DEF Conversion functions
- SDN.ID Description for the Shareware Distribution Network (SDN)
- FILE_ID.DIZ Brief program description for bulletin boards
-
- The compressed file name prefix must be UCALC32 or UCAL32 or UCALC
- (followed by ARJ, ZIP, LZH, or other).
-
- Vendors
- -------
- Vendors may distribute UCALC, as long as it is not labeled "free",
- "cheap", "copyright free", or "public domain". It must be made clear
- to customers that this program is shareware, and that a payment must be
- made to the author if they continue using it. All ASP distributors in
- good standing may distribute the Ultimate Calculator without my written
- permission (although I would appreciate a copy of your catalog).
-
- Vendors who operate with good business ethics should feel free to
- distribute UCALC without my written permission.
-
-
- 23. Acknowledgments
- ===============
-
- I would like to thank those who have registered UCALC, and everyone who
- has sent suggestions. I would like to thank Dr. Steven Gunhouse for
- suggestions on graphic features such as zoom, trace, etc.... I would
- also like to thank the following people for being beta testers:
-
- Aaron Beharrell
- Jonathan Borwein University of Waterloo
- David G. Caraballo Princeton University
- Elan Feingold Cornell University
- Daryl Gungadoo Andrews University
- Steven Gunhouse University of Texas
- James Hague
- Rich Holland Kansas State University
- Fred Hapgood
- John Lim Eng Hooi
- Willie Hutton University of Colorado
- Mark W Jacobs Stanford University
- Michael D. Lawler Ball State University
- Chris Long Rutgers University
- Mark E. Mallett
- Peter Paul Meiler TNO Physics & Electronics Lab, the Netherlands
- Marty Milette Mitel Corporation
- Matt Pardo North Carolina Medical Center
- Alexander Pruss University of British Columbia
- Glauber Ribeiro O.C. International, Brazil
- Dave Sklar Temple University
- John Steele Video Business Systems
- David Steinman University of Toronto
- Sue Widemark
- Shi-Chang Wooh Northwestern University, Illinois
-
- <<<< END OF UCALC DOCUMENTATION >>>>